Power dissipation by a processor can raise various problems. The frequency of chip processing, the system clock of the chip, has increased over time. Presently, chips can run at 3 GHZ, 5 GHZ or more. This can lead to significant power consumption, and hence heat generation. It would be useful to be able to selectively and dynamically decrease processing speed to decrease power consumption and increase, say, battery life. Also, due to the increase of transistors and frequency of the chip, current spikes when switching from one processing speed to another processing speed can be a significant problem, especially when the switching is done quickly. Furthermore, when switching to a faster frequency from a slower frequency, the fast change of switching frequencies can cause voltage rails to fluctuate, which can create errors in the circuit.
In conventional technologies, there are various ways to change to a slower processing speed for a processor. One such way to change frequencies on a processor is to disable the processor entirely, and then change the settings of the PLL (phase locked loop) that is being used to drive the processor. However, shutting down the processor is expensive in terms of performance. Furthermore, it is better if the change in processing speeds occurs dynamically, that is without having to disable the circuit.
Other conventional technologies, therefore, changed processing speeds without entirely disabling the processor. In some previous technologies, they switched from one processing speed to another processing speed without using any intervening processing speeds to mitigate the current charge effect.
However, recently chip processing speeds have continued to increase. Therefore, the current spikes have become more of a problem. This can be compensated by adding more capacitors to the processor, but this makes the chip more expensive.
Therefore, there is a need to change from a first processing speed to a second processing speed in a manner that addresses at least some of the concerns of conventional processing speed switching.